home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / pcq_incl3v1.lha / Devices / Timer.i < prev    next >
Encoding:
Text File  |  1994-06-12  |  1.3 KB  |  64 lines

  1. {
  2.         Timer.i for PCQ Pascal
  3. }
  4.  
  5. {$I "Include:Exec/IO.i"}
  6.  
  7. Const
  8.  
  9. { unit defintions }
  10.     UNIT_MICROHZ        = 0;
  11.     UNIT_VBLANK         = 1;
  12.     UNIT_ECLOCK         = 2;
  13.     UNIT_WAITUNTIL      = 3;
  14.     UNIT_WAITECLOCK     = 4;
  15.  
  16.     TIMERNAME           = "timer.device";
  17.  
  18. Type
  19.  
  20.     timeval = record
  21.         tv_secs         : Integer;
  22.         tv_micro        : Integer;
  23.     end;
  24.     timevalPtr = ^timeval;
  25.  
  26.  
  27.     timerequest = record
  28.         tr_node         : IORequest;
  29.         tr_time         : timeval;
  30.     end;
  31.     timerequestPtr = ^timerequest;
  32.  
  33. Const
  34.  
  35. { IO_COMMAND to use for adding a timer }
  36.     TR_ADDREQUEST       = CMD_NONSTD;
  37.     TR_GETSYSTIME       = CMD_NONSTD + 1;
  38.     TR_SETSYSTIME       = CMD_NONSTD + 2;
  39.  
  40. {  To use any of the routines below, TimerBase must be set to point
  41.    to the timer.device, either by calling CreateTimer or by pulling
  42.    the device pointer from a valid TimeRequest, i.e.
  43.  
  44.         TimerBase := TimeRequest.io_Device;
  45.  
  46.     _after_ you have called OpenDevice on the timer.
  47.  }
  48.  
  49. var
  50.     TimerBase   : Address;
  51.  
  52. { Dest := Dest + Source }
  53.  
  54. Procedure AddTime(VAR Dest, Source : TimeVal);
  55.     External;
  56.  
  57. Function CmpTime(VAR Dest, Source : TimeVal) : Integer;
  58.     External;
  59.  
  60. { Dest := Dest - Source }
  61.  
  62. Procedure SubTime(VAR Dest, Source : TimeVal);
  63.     External;
  64.